#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	int i;
//	for (i = 1; i <= 100; i++)
//	{
//		if (i % 3 == 0)
//		{
//			printf("%d\n",i);
//		}
//	}
//	return 0;
//}
//
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	int i,j,ret=0;
//	for (i = 100; i <= 200; i++)
//	{
//		for (j = 2; j <=sqrt(i); j++)
//		{
//			if (i % j == 0) {
//				ret = 0;
//				break;
//			}
//			ret = 1;
//		}
//		if(ret==1)
//		printf("%d\n", i);
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int i;
//	for (i = 1000; i <= 2000; i++)
//	{
//		if ((i % 4 == 0) && (i % 100 != 0) || (i % 400 == 0))
//		{
//			printf("%d\n", i);
//		}
//	}
//}
#include<stdio.h>
int main()
{
	int a, b;
	int i, ret=0;
	scanf("%d %d", &a, &b);
	int min = a > b ? b : a;
	for (i = 1; i <= min; i++)
	{
		if ((a % i==0) && (b % i==0))
		{
			ret = i;
		}
	}
	printf("%d", ret);
	return 0;
}